﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Datos;
using Negocio.clases_tontas;

namespace Negocio.catalogos
{
    public class catalogoJustificacion
    {
        /// <summary>
        /// objeto de tipo entity para la conexion
        /// </summary>
        ControlAsistenciaEntities _objEntities = new ControlAsistenciaEntities();

        public List<Negocio.clases_tontas.justificacion> obtenerJustificacion(int _idAsistencia)
        {
            List<Negocio.clases_tontas.justificacion> _objLista = new List<Negocio.clases_tontas.justificacion>();
            try
            {
                foreach (var item in _objEntities.procConsultarDetalleJustificacion(_idAsistencia))
                {
                    _objLista.Add(new justificacion(item.idDetalleJustificacion,item.tipoJustificacion, (int)item.cedula, item.url, item.idAsistencia, item.observacion, (DateTime)item.fecha));
                }
                return _objLista;
            }
            catch (Exception)
            {

                return _objLista = new List<justificacion>();
            }

        }
        /// <summary>
        /// Inserta todos los datos de la justificacion (psf, observacion, url)
        /// </summary>
        /// <param name="_tipoJustificaccion">Normal o Especial</param>
        /// <param name="_cedula">Cedula del usuario</param>
        /// <param name="_observacion">Obsercacion de la justificacion</param>
        /// <param name="_path">En donde se guarda el archivo con la justificacion</param>
        /// <param name="_idAsistencia">Asistencia mofificada</param>
        public void insertarJustificacion(int _tipoJustificaccion, int _cedula,string _observacion, string _path, int _idAsistencia, DateTime _fecha)
        {
            try
            {
                _objEntities.procAgregarJustificacion(_tipoJustificaccion, _cedula, _observacion, _path, _idAsistencia, _fecha);
            }
            catch (Exception)
            {
                throw;
            }
        }
    }
}
